package net.zschech.gwt.chat.client.api;

import net.zschech.gwt.chat.client.domain.*;


public interface GameService {
  /**
   * start the game for given type and room
   * 
   * @param host
   * @param challenger
   * @param room
   */
    public void startGame(Gamer host,Gamer challenger,Room room,GameType type);
    /**
     * 1.log the game moves
     * 2.judge the winner
     * 3.give user point and judge if the user should be promoted
     * @param game
     */
    public void endGame(Game game);
    /**
     * can pause the game if the two user agree to resume the game in a later time
     * @param game
     */
    public void pauseGame(Game game);
  
    /**
     * create a new room for gamer
     * @return
     */
    public Room createRoom();
    
}
